package com.zfj.List;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
 * @author zfj
 * @date 2022/3/4 -18:57
 * List子接口的使用
 * 特点：1：有序的下标 2.可以重复
 */
public class Demo1 {
	public static void main(String[] args) {
		//创建集合对象
		List list=new ArrayList<>();
		//添加元素
		list.add("苹果");
		list.add("小米");
		list.add("华为");
		System.out.println(list.toString());
		//删除元素
		list.remove(0);
		System.out.println(list.toString());
		//遍历
		//for
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		//增强for
		System.out.println("========增强for=========");
		for (Object o:list){
			System.out.println(o);
		}
		//迭代器
		System.out.println("========迭代器=========");
		Iterator iterator=list.iterator();
		while (iterator.hasNext()){
			System.out.println(iterator.next());
		}
		//列表迭代器,和Iterator的区别，ListIterator可以向前或者往后遍历，添加，删除
		System.out.println("=======列表迭代器=========");
		ListIterator listIterator = list.listIterator();
		System.out.println("=======列表迭代器从前往后=========");
		while (listIterator.hasNext()){
			System.out.println(listIterator.nextIndex()+"+"+listIterator.next());
		}
		System.out.println("=======列表迭代器从后往前=========");
		while (listIterator.hasNext()){
			System.out.println(listIterator.previousIndex()+"+"+listIterator.previous());
		}
		//判断
		System.out.println(list.contains("苹果"));
		System.out.println(list.isEmpty());
		//获取位置
		System.out.println(list.indexOf("华为"));

	}
}
